﻿using System;
using System.Collections.Generic; 
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ADV_Evaluator;
using ADV_Evaluator.Command;

namespace ADV_Editor.CommandDialog
{
    /// <summary>
    /// 背景色の変更
    /// </summary>
    /// [2008/04/26] Luice 新規作成
	partial class BackColorDialog : CommandDialogBase
	{
        /// <summary>
        /// 初期値を指定しないコンストラクタ
        /// </summary>
		public BackColorDialog()
		{
            // コンポーネントの初期化
            InitializeComponent();
        }

        /// <summary>
        /// 初期値を指定したコンストラクタ
        /// </summary>
        /// <param name="param">属性</param>
        public BackColorDialog(BackColorParams param) : this()
        {
            // 色セット
            this.pnlColor.BackColor = param.BackColor;
            numericUpDown_Duration.Value = param.Duration;
        }

        /// <summary>
        /// 設定された画像をコマンド化したもの
        /// </summary>
        public override CommandListData Command
        {
            get
            {
                // 属性
                BackColorParams param;
                param.BackColor = this.pnlColor.BackColor;
                param.Duration = (int)numericUpDown_Duration.Value;
                return new CommandListData(CommandName.背景色の変更, param);
            }
        }

        #region ヘルプ
        /// <summary>
        /// OKボタンのヘルプ
        /// </summary>
        private void button_OK_HelpRequested(object sender, HelpEventArgs hlpevent)
        {
            ShowPopupHelp(sender, "このダイアログを閉じて、コマンドを追加します。");
        }
        /// <summary>
        /// キャンセルボタンのヘルプ
        /// </summary>
        private void button_Cancel_HelpRequested(object sender, HelpEventArgs hlpevent)
        {
            ShowPopupHelp(sender, "変更内容を保存せずにこのダイアログを閉じます。");
        }
        /// <summary>
        /// フレーム数指定のヘルプ
        /// </summary>
        private void groupBox_Duration_HelpRequested(object sender, HelpEventArgs hlpevent)
        {
            ShowPopupHelp(sender, "1以上の値を指定すると、表示、若しくは消去するときに、ゆっくりと透明度が変わっていくエフェクトをかけることが出来ます。");
        }
        #endregion

        #region フォーム操作
        /// <summary>
        /// 背景色設定
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnColor_Click(object sender, EventArgs e)
        {
            if (this.diaColor.ShowDialog().Equals(DialogResult.OK))
            {
                this.pnlColor.BackColor = this.diaColor.Color;
            }
        }
        #endregion
    }
}